<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:gb="http://giava.by/giavacms/base"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	template="/WEB-INF/layout/t.xhtml">

	<ui:define name="title">
		<h:outputText value="Gestione Lingue" />
	</ui:define>

	<ui:define name="roles">
		<f:attribute name="roles" value="i18n" />
	</ui:define>

	<ui:define name="content">
		<h:form id="central">
			<center>

				<p:panel header="Lingue">

					<p:spacer width="100%" height="10px" />

					<p:dataTable style="width: 95%;" id="list" paginator="false"
						editable="true" lazy="false"
						emptyMessage="Nessun linguaggio configurato." rows="0" var="l"
						value="#{languageController.model}" rowIndexVar="rowIndex">

						<p:column>
							<center>
								<h:outputText value="#{rowIndex+1}" />
							</center>
						</p:column>
						<p:column headerText="identificativo">
							<center>
								<h:outputText value="#{l.id}" />
							</center>
						</p:column>
						<p:column headerText="descrizione">
							<center>
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{l.description}" />
									</f:facet>
									<f:facet name="input">
										<h:panelGroup>
											<p:inputText value="#{l.description}" required="false"
												style="width: 100%;"
												requiredMessage="E' obbligatorio specificare una descrizione" />
											<h:outputText value=" (*)" rendered="false" />
										</h:panelGroup>
									</f:facet>
								</p:cellEditor>
							</center>
						</p:column>
						<p:column headerText="posizione">
							<center>
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{l.position}" />
									</f:facet>
									<f:facet name="input">
										<h:panelGroup>
											<p:inputText value="#{l.position}" required="true"
												style="width: 100%;"
												requiredMessage="E' obbligatorio specificare la posizione del linguaggio"
												validatorMessage="E' obbligatorio specificare la posizione del linguaggio sotto forma di numero intero"
												converterMessage="E' obbligatorio specificare la posizione del linguaggio sotto forma di numero intero" />
											<h:outputText value=" (*)" />
										</h:panelGroup>
									</f:facet>
								</p:cellEditor>
							</center>
						</p:column>
						<p:column headerText="abilitato">
							<center>
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="SI" rendered="#{l.enabled}" />
										<h:outputText value="NO" rendered="#{not l.enabled}" />
									</f:facet>
									<f:facet name="input">
										<h:panelGroup>
											<p:selectBooleanCheckbox value="#{l.enabled}" />
										</h:panelGroup>
									</f:facet>
								</p:cellEditor>
							</center>
						</p:column>
						<p:column headerText="operazioni"
							style="width: 100px; text-align: center;">
							<p:rowEditor>
							</p:rowEditor>
							<p:commandLink action="#{languageController.delete(id)}"
								ajax="false" immediate=""
								onclick="if(!confirm('Vuoi veramente eliminare il linguaggio \'#{l.id}\''?')) return false">
								<h:graphicImage alt="Elimina" title="Elimina"
									library="images/form" name="failed.png" style="border: none;" />
							</p:commandLink>
						</p:column>
						<p:ajax event="rowEdit" listener="#{languageController.onRowEdit}"
							update=":central:languages" />
					</p:dataTable>
					<p:spacer width="100%" height="30px" />
					<h:outputLabel value="Linguaggi attualmente abilitati: "
						for="languages" style="font-weight: bolder;"/>
					<h:panelGroup id="languages">
						<h:outputText value="#{empty language1 ? '-' : language1.id}" />
						<h:outputText value=" " />
						<h:outputText value="#{empty language2 ? '-' : language2.id}" />
						<h:outputText value=" " />
						<h:outputText value="#{empty language3 ? '-' : language3.id}" />
						<h:outputText value=" " />
						<h:outputText value="#{empty language4 ? '-' : language4.id}" />
						<h:outputText value=" " />
						<h:outputText value="#{empty language5 ? '-' : language5.id}" />
					</h:panelGroup>
					<p:spacer width="100%" height="10px" />

				</p:panel>

				<p:spacer width="100%" height="20px" />

				<h:panelGrid columns="5">
					<h:outputLabel value="Identificativo (*):" for="identificativo" />
					<h:outputLabel value="Descrizione:" for="descrizione" />
					<h:outputLabel value="Posizione (*):" for="posizione" />
					<h:outputLabel value="Abilitato:" for="abilitato" />
					<h:outputText value="" />
					<p:inputText value="#{languageController.element.id}"
						required="true"
						requiredMessage="E' obbligatorio specificare l'identificativo del linguaggio"
						id="identificativo" />
					<p:inputText value="#{languageController.element.description}"
						required="false"
						requiredMessage="E' obbligatorio specificare la descrizione del linguaggio"
						id="description" />
					<p:inputText value="#{languageController.element.position}"
						required="true"
						requiredMessage="E' obbligatorio specificare la posizione del linguaggio"
						validatorMessage="E' obbligatorio specificare la posizione del linguaggio sotto forma di numero intero"
						converterMessage="E' obbligatorio specificare la posizione del linguaggio sotto forma di numero intero"
						id="posizione" />
					<p:selectBooleanCheckbox
						value="#{languageController.element.enabled}" id="abilitato" />
					<p:commandButton action="#{languageController.save}"
						value="Aggiungi" ajax="false" />
				</h:panelGrid>

			</center>
		</h:form>

	</ui:define>
</ui:composition>